package com.czk.algorithm.kmp;

/**
 * 暴力匹配算法
 * 大量字符串匹配时，回溯较多，效率较低
 * @Author:ChenZhangKun
 * @Date: 2020/7/30 21:12
 */
public class ViolenceMatch {
    public static void main(String[] args) {
        String str1="abcfsdfdfkggkdfsdgdgjh";
        String str2="dfk";
        int i = violenceMath(str1, str2);
        System.out.println(i);
    }
    public static int violenceMath(String str1,String str2){
        char[] char1 = str1.toCharArray();
        char[] char2 = str2.toCharArray();
        // 长度
        int length1=char1.length;
        int length2=char2.length;
        // 指针
        int i=0;
        int j=0;
        while (i<length1&&j<length2){
            if (char1[i]==char2[j]){
                // 匹配成功
                i++;
                j++;
            }else {
                i=i-j+1;
                j=0;
            }
        }
        // 匹配成功
        if (j==length2){
            // 返回开始索引
            return i-j;
        }else {
            // 没有匹配到
            return -1;
        }
    }
}
